SSLAM Localization
SSLAM package is an optimization-based multi-sensor (mainly stereo camera) state estimator, which achieves accurate self-localization and map management for autonomous applications.
It supports multiple visual-inertial sensor types: stereo cameras, mono camera + IMU, stereo cameras + IMU, stereo cameras + INS.
It contains three modules:
Camera models (camodocal) for camera modeling;
SLAM Estimator (Namespace slam_estimator) for real-time localization;
Pose Graph (Namespace pose_graph) for re-localization, loop closure and map loading & saving.
The updated version of SSLAM replaced g2o with Ceres
(g2o gives occasional crashes) and added optical flow
as front end for better tracking, which can be accelerated by GPU. We also added IMU and GPS support as potential sensor fusion.
Features
Save & Load functions for familiar scenes with higher accuracy need GPS initial reference).
Multiple sensors support (stereo cameras / mono camera + IMU / stereo cameras + IMU / stereo cameras + INS).
Visual loop closure and map merging.
Options to fuse with GPS and INS data.
Able to handle heavy dynamic issue with the assist of cubicle detect repository.

SLAM Performance without dynamic ability.

SLAM Performance with dynamic ability.
SSLAM Contents
Source Code Structure
sslam/
├── README.md
├── package.xml
├── CMakeLists.txt
├── cmake
│ ├── FindEigen.cmake
│ └── FindSphinx.cmake
├── Config # (1) Configuration files including parameter set
│ ├── bus and calibration.
│ ├── bus2
│ ├── euroc
│ ├── honda
│ ├── kitti_odom
│ ├── kitti_raw
│ └── zed
├── launch # (2) ROS launch file, the entry point of the code.
│ ├── bus_core.launch
│ ├── bus_global_core.launch
│ ├── bus_global.launch
│ └── bus.launch
├── docs
│ ├── html
│ ├── latex
│ └── xml
├── camera_models # (3) Camera model module, with pinhole and
│ ├── include other camera definition and modeling.
│ ├── readme.md
│ └── src
├── slam_estimator # (4) SLAM estimator module, the core library
│ ├── cmake-build-debug for real-time visual (inertial) odometry.
│ ├── CMakeLists.txt
│ ├── package.xml
│ └── src
├── pose_graph # (5) Pose graph module, the loop closure and
│ ├── CMakeLists.txt map management library.
│ ├── package.xml
│ └── src
├── global_fusion # (6) Global fusion module, the library that
│ ├── CMakeLists.txt integrates slam_estimator with GPS message.
│ ├── models
│ ├── package.xml
│ ├── src
│ └── ThirdParty
└── support_files # (7) Feature descriptor training files and SSLAM
├── brief_k10L6.bin related documentation module.
├── brief_pattern.yml
├── doc
└── image